<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cppMISC: wheels::curlFtp类 参考</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript" src="../../darkmode_toggle.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cppMISC<span id="projectnumber">&#160;v1.1</span>
   </div>
   <div id="projectbrief">cppMisc 文档系统</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../df/d8d/namespacewheels.html">wheels</a></li><li class="navelem"><a class="el" href="../../d4/d31/classwheels_1_1curl_ftp.html">curlFtp</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="#pub-static-attribs">静态 Public 属性</a> &#124;
<a href="#friends">友元</a> &#124;
<a href="../../d7/de1/classwheels_1_1curl_ftp-members.html">所有成员列表</a>  </div>
  <div class="headertitle"><div class="title">wheels::curlFtp类 参考</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a>&gt;</code></p>
<div class="dynheader">
类 wheels::curlFtp 继承关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d02/classwheels_1_1curl_ftp__inherit__graph.png" border="0" usemap="#awheels_1_1curl_ftp_inherit__map" alt="Inheritance graph"/></div>
<map name="awheels_1_1curl_ftp_inherit__map" id="awheels_1_1curl_ftp_inherit__map">
<area shape="rect" title=" " alt="" coords="28,853,213,1333"/>
<area shape="rect" href="../../d7/d64/structwheels_1_1i_file_service.html" title=" " alt="" coords="5,5,236,805"/>
<area shape="poly" title=" " alt="" coords="123,821,123,854,118,854,118,821"/>
</map>
</div>
<div class="dynheader">
wheels::curlFtp 的协作图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d3/d7f/classwheels_1_1curl_ftp__coll__graph.png" border="0" usemap="#awheels_1_1curl_ftp_coll__map" alt="Collaboration graph"/></div>
<map name="awheels_1_1curl_ftp_coll__map" id="awheels_1_1curl_ftp_coll__map">
<area shape="rect" title=" " alt="" coords="28,853,213,1333"/>
<area shape="rect" href="../../d7/d64/structwheels_1_1i_file_service.html" title=" " alt="" coords="5,5,236,805"/>
<area shape="poly" title=" " alt="" coords="123,821,123,854,118,854,118,821"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d19/structwheels_1_1curl_ftp_1_1st_params.html">stParams</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/dee/structwheels_1_1curl_ftp_1_1st_transmit.html">stTransmit</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">传输描述符。在数据传输的过程中描述数据的传送状况喝操作状况  <a href="../../d2/dee/structwheels_1_1curl_ftp_1_1st_transmit.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:aef3f1efb75e5955ac5034428b1c72f1c" id="r_aef3f1efb75e5955ac5034428b1c72f1c"><td class="memItemLeft" align="right" valign="top">typedef size_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aef3f1efb75e5955ac5034428b1c72f1c">curlFun</a>) (char *, size_t, size_t, void *)</td></tr>
<tr class="separator:aef3f1efb75e5955ac5034428b1c72f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a704c42af65f4ab64d9d66f2fc45feabc" id="r_a704c42af65f4ab64d9d66f2fc45feabc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a704c42af65f4ab64d9d66f2fc45feabc">errCode</a> = <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">emErrCode</a></td></tr>
<tr class="separator:a704c42af65f4ab64d9d66f2fc45feabc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_structwheels_1_1i_file_service"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_types_structwheels_1_1i_file_service')"><img src="../../closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html">wheels::iFileService</a></td></tr>
<tr class="memitem:a4caa50c3e01e22c71bb52d16657c48d0 inherit pub_types_structwheels_1_1i_file_service" id="r_a4caa50c3e01e22c71bb52d16657c48d0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">emErrCode</a> { <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a59b1c41de43229a4e52a1c606fa8cd81">ERR_DOWNLOAD_OSS</a> = -10000
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a557568da9c09c7d18db885715b74fb69">ERR_SYS_VAR</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a72ba8dd7c1d1a10f550a4959d862a241">ERR_CANCEL_TRANSFER</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a519e29bbff6bfe2bd3367baa832a728e">ERR_UNSUPPORTED_PROTOCOL</a>
, <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a6d5f22ec546b93a49fab7dcf9c189b18">ERR_INIT_CURL</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0ac2924800f7928a074967b04b60b94139">ERR_CONNECT_SVR</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a0bc456b503b6a2f5adf24eb6cbe43845">ERR_FILE_DOWNLOAD_TRANSFER</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a4872446ba63c055e1a31807fd3c4fa34">ERR_FILE_UPLOAD_TRANSFER</a>
, <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0ac208a4ce08f3a5f4295b17f7b46f4579">ERR_CTX_NULL</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a5b268e5248c078c7cbb7cde62cf324c4">ERR_ALLOC_MEM</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a9242d18f17c2cee6eb4d3a800cc009e0">ERR_CREATE_DEST_FILE</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0aff397765753060ba7ad3fe5388920cd2">ERR_CURL_SET_OPT</a>
, <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0aa3386d6d37fe9fd850252dfd37b2b741">ERR_USER_OR_PSWD</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a068f0f9561e975a8a13e02ea53597567">ERR_CURL_PERFORM</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0afdb7aed7a2a2ec16100b7631c847de65">ERR_OPEN_LOC_FILE</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a482fce143b86951bbbef6530d46d46ad">ERR_NO_SRC_FILE</a>
, <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a28822492bef449671e9141752f029ff0">ERR_DESC_NULL</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a3968149e28f9f41001ee7c3ad7fc7446">ERR_EMPTY_URL</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a13660432e6aaf3be08861a993e1ed516">ERR_FILE_NOT_FOUND</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0acdfdd12e96fab9eb13eb90b0b088845d">ERR_ACCESS_NOT_SUPPORT</a>
, <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0aabda220d3cf6da350f219ab2547770e9">STATUS_TRANS_FINISH</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a172916c3c608d38b12c8c59e814964f3">STATUS_TRANSING</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a162a4d8662445e2d2e5d21d29e222bf8">ERR_INIT_FTP</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0aebf9f08a4e2e6bc291b32e9ae7e6efa3">ERR_DELE_OSS_FILE</a>
, <br />
&#160;&#160;<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0ab1c5ac4e88ff4ec5333e43ecb4f8cc43">ERR_LS_OSS_FILE</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a09b39c7f67f8f42e3466156fde2c4a74">ERR_UPLOAD_OSS</a>
, <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0a1b4ffc5a9b1fe92b4ef2140d02895b78">OK</a> = 0
<br />
 }</td></tr>
<tr class="separator:a4caa50c3e01e22c71bb52d16657c48d0 inherit pub_types_structwheels_1_1i_file_service"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a5a85a4a48b8b190ff7522eccf609f205" id="r_a5a85a4a48b8b190ff7522eccf609f205"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a85a4a48b8b190ff7522eccf609f205">curlFtp</a> ()</td></tr>
<tr class="memdesc:a5a85a4a48b8b190ff7522eccf609f205"><td class="mdescLeft">&#160;</td><td class="mdescRight">构造对象  <br /></td></tr>
<tr class="separator:a5a85a4a48b8b190ff7522eccf609f205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a748a8d4b508f2f7f093a9e40c79c849d" id="r_a748a8d4b508f2f7f093a9e40c79c849d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a748a8d4b508f2f7f093a9e40c79c849d">curlFtp</a> (const std::string &amp;url)</td></tr>
<tr class="separator:a748a8d4b508f2f7f093a9e40c79c849d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85d28bcf2c8a2a80ed25d605143f219" id="r_ac85d28bcf2c8a2a80ed25d605143f219"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac85d28bcf2c8a2a80ed25d605143f219">curlFtp</a> (const <a class="el" href="../../d3/d19/structwheels_1_1curl_ftp_1_1st_params.html">stParams</a> &amp;params)</td></tr>
<tr class="separator:ac85d28bcf2c8a2a80ed25d605143f219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae97f652bf7189764e89e5f36e0bd8807" id="r_ae97f652bf7189764e89e5f36e0bd8807"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae97f652bf7189764e89e5f36e0bd8807">curlFtp</a> (const std::string &amp;remote, const <a class="el" href="../../d3/d19/structwheels_1_1curl_ftp_1_1st_params.html">stParams</a> &amp;params)</td></tr>
<tr class="separator:ae97f652bf7189764e89e5f36e0bd8807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd211e7301ba32b01614fa583be8d6dc" id="r_acd211e7301ba32b01614fa583be8d6dc"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acd211e7301ba32b01614fa583be8d6dc">~curlFtp</a> ()</td></tr>
<tr class="separator:acd211e7301ba32b01614fa583be8d6dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb6dab76f77c2f107bb95421f606126e" id="r_afb6dab76f77c2f107bb95421f606126e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afb6dab76f77c2f107bb95421f606126e">on_recv_data</a> (<a class="el" href="../../d2/dee/structwheels_1_1curl_ftp_1_1st_transmit.html">stTransmit</a> *desc)</td></tr>
<tr class="separator:afb6dab76f77c2f107bb95421f606126e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dac8c9bb47ebb566ef42e54548441c3" id="r_a2dac8c9bb47ebb566ef42e54548441c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2dac8c9bb47ebb566ef42e54548441c3">__on_progress_dwld</a> (size_t now)</td></tr>
<tr class="separator:a2dac8c9bb47ebb566ef42e54548441c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96fedcbbcf4f36433ae56629b622e7ca" id="r_a96fedcbbcf4f36433ae56629b622e7ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a96fedcbbcf4f36433ae56629b622e7ca">__onChkInst</a> (const char *data, size_t len)</td></tr>
<tr class="memdesc:a96fedcbbcf4f36433ae56629b622e7ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">响应检查FTP支持指令的情况  <br /></td></tr>
<tr class="separator:a96fedcbbcf4f36433ae56629b622e7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15beda9d850305cba470141914f402f0" id="r_a15beda9d850305cba470141914f402f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a15beda9d850305cba470141914f402f0">onSize</a> (const char *data, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>)</td></tr>
<tr class="memdesc:a15beda9d850305cba470141914f402f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取文件大小响应函数  <br /></td></tr>
<tr class="separator:a15beda9d850305cba470141914f402f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d7d5ad68763ca40e90e4f1d8f415bb2" id="r_a6d7d5ad68763ca40e90e4f1d8f415bb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d7d5ad68763ca40e90e4f1d8f415bb2">__onConnect</a> (const char *data, size_t len)</td></tr>
<tr class="memdesc:a6d7d5ad68763ca40e90e4f1d8f415bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">响应连接操作的过程中的数据回调  <br /></td></tr>
<tr class="separator:a6d7d5ad68763ca40e90e4f1d8f415bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a929ea45d339698ebf01353ea8b1056" id="r_a7a929ea45d339698ebf01353ea8b1056"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a929ea45d339698ebf01353ea8b1056">__onConnectErr</a> ()</td></tr>
<tr class="memdesc:a7a929ea45d339698ebf01353ea8b1056"><td class="mdescLeft">&#160;</td><td class="mdescRight">ftp对象数据给出错误。虽然这种情况的可能性不大。  <br /></td></tr>
<tr class="separator:a7a929ea45d339698ebf01353ea8b1056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a132a173060f821a3db358a189112b089" id="r_a132a173060f821a3db358a189112b089"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a132a173060f821a3db358a189112b089">on_recv</a> (<a class="el" href="../../d2/dee/structwheels_1_1curl_ftp_1_1st_transmit.html">stTransmit</a> *desc)</td></tr>
<tr class="memdesc:a132a173060f821a3db358a189112b089"><td class="mdescLeft">&#160;</td><td class="mdescRight">接收到数据的回调函数  <br /></td></tr>
<tr class="separator:a132a173060f821a3db358a189112b089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17073e782cd8890d22eb75cda4bad864" id="r_a17073e782cd8890d22eb75cda4bad864"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a17073e782cd8890d22eb75cda4bad864">on_pause</a> (<a class="el" href="../../df/d78/tribool_8hpp.html#a74ed90a757246608e85275a8d14511c2">tribool_t</a> status)</td></tr>
<tr class="memdesc:a17073e782cd8890d22eb75cda4bad864"><td class="mdescLeft">&#160;</td><td class="mdescRight">响应暂停操作  <br /></td></tr>
<tr class="separator:a17073e782cd8890d22eb75cda4bad864"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a549022029d45e244480a54f7d398d766" id="r_a549022029d45e244480a54f7d398d766"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a549022029d45e244480a54f7d398d766">__on_progress</a> (size_t now)</td></tr>
<tr class="memdesc:a549022029d45e244480a54f7d398d766"><td class="mdescLeft">&#160;</td><td class="mdescRight">传输过程中操作CURL回调函数  <br /></td></tr>
<tr class="separator:a549022029d45e244480a54f7d398d766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76406c4f68eda16696689e8e31192173" id="r_a76406c4f68eda16696689e8e31192173"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a76406c4f68eda16696689e8e31192173">bufferSize</a> (size_t s) final</td></tr>
<tr class="separator:a76406c4f68eda16696689e8e31192173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1920b0d6e18ff15b4077ca8f063da74" id="r_ab1920b0d6e18ff15b4077ca8f063da74"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1920b0d6e18ff15b4077ca8f063da74">overtime</a> (long ovt) final</td></tr>
<tr class="separator:ab1920b0d6e18ff15b4077ca8f063da74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1297558f832053edb5ced7a8c66ea08" id="r_ae1297558f832053edb5ced7a8c66ea08"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae1297558f832053edb5ced7a8c66ea08">download</a> (const std::string &amp;from, const std::string &amp;dest=&quot;&quot;, bool autoRun=true) final</td></tr>
<tr class="memdesc:ae1297558f832053edb5ced7a8c66ea08"><td class="mdescLeft">&#160;</td><td class="mdescRight">执行下载操作，这个函数会阻塞程序运行，直到完成操作  <br /></td></tr>
<tr class="separator:ae1297558f832053edb5ced7a8c66ea08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a785773fc259042d522978a94a65895" id="r_a2a785773fc259042d522978a94a65895"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2a785773fc259042d522978a94a65895">download</a> (const std::string &amp;from, const std::string &amp;dest, std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, uint8_t *, size_t) &gt; cb, bool autoRun=true) final</td></tr>
<tr class="memdesc:a2a785773fc259042d522978a94a65895"><td class="mdescLeft">&#160;</td><td class="mdescRight">下载操作函数。操作完成后使用回调函数通知操作结果  <br /></td></tr>
<tr class="separator:a2a785773fc259042d522978a94a65895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21c36b2ddba22f2961b0843af2bd9d1e" id="r_a21c36b2ddba22f2961b0843af2bd9d1e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a21c36b2ddba22f2961b0843af2bd9d1e">download</a> (const std::string &amp;from, char *buffer, std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, uint8_t *, size_t) &gt; cb, bool autoRun=true) final</td></tr>
<tr class="memdesc:a21c36b2ddba22f2961b0843af2bd9d1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">将数据下载到内存中  <br /></td></tr>
<tr class="separator:a21c36b2ddba22f2961b0843af2bd9d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26fa2678dbdf24b02a0c73e59b9b2cfc" id="r_a26fa2678dbdf24b02a0c73e59b9b2cfc"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a26fa2678dbdf24b02a0c73e59b9b2cfc">download</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;from, const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;dest, bool autoRun=true) final</td></tr>
<tr class="memdesc:a26fa2678dbdf24b02a0c73e59b9b2cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">批量下载文件。  <br /></td></tr>
<tr class="separator:a26fa2678dbdf24b02a0c73e59b9b2cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05d8eaf1dabcf5acdc1aed44311b0581" id="r_a05d8eaf1dabcf5acdc1aed44311b0581"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a05d8eaf1dabcf5acdc1aed44311b0581">download</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;from, const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;dest, std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, uint8_t *, size_t) &gt; cb, bool autoRun=true) final</td></tr>
<tr class="memdesc:a05d8eaf1dabcf5acdc1aed44311b0581"><td class="mdescLeft">&#160;</td><td class="mdescRight">批量下载文件，使用回调函数通知操作结果和过程  <br /></td></tr>
<tr class="separator:a05d8eaf1dabcf5acdc1aed44311b0581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05feb0263f26899dc82d5d37563f527f" id="r_a05feb0263f26899dc82d5d37563f527f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a05feb0263f26899dc82d5d37563f527f">upload</a> (const std::string &amp;file, const std::string &amp;remote_file, bool autoRun=true) final</td></tr>
<tr class="memdesc:a05feb0263f26899dc82d5d37563f527f"><td class="mdescLeft">&#160;</td><td class="mdescRight">上传文件到服务器  <br /></td></tr>
<tr class="separator:a05feb0263f26899dc82d5d37563f527f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13b876b8b1d24c1492e05dbb15983deb" id="r_a13b876b8b1d24c1492e05dbb15983deb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13b876b8b1d24c1492e05dbb15983deb">upload</a> (const std::string &amp;file, const std::string &amp;remote_file, std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, size_t)&gt; cb, bool autoRun=true) final</td></tr>
<tr class="separator:a13b876b8b1d24c1492e05dbb15983deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081f19dca8a92472e71a0f01f89c0e96" id="r_a081f19dca8a92472e71a0f01f89c0e96"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a081f19dca8a92472e71a0f01f89c0e96">upload</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;from, bool autoRun=true) final</td></tr>
<tr class="memdesc:a081f19dca8a92472e71a0f01f89c0e96"><td class="mdescLeft">&#160;</td><td class="mdescRight">批量上传操作  <br /></td></tr>
<tr class="separator:a081f19dca8a92472e71a0f01f89c0e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2455ae312bda209e423b82040802aa1d" id="r_a2455ae312bda209e423b82040802aa1d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2455ae312bda209e423b82040802aa1d">upload</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;file, std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, size_t)&gt; cb, bool autoRun) final</td></tr>
<tr class="separator:a2455ae312bda209e423b82040802aa1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9113414b3009b797ab62da473ec4f33a" id="r_a9113414b3009b797ab62da473ec4f33a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9113414b3009b797ab62da473ec4f33a">del</a> (const std::string &amp;rem) final</td></tr>
<tr class="memdesc:a9113414b3009b797ab62da473ec4f33a"><td class="mdescLeft">&#160;</td><td class="mdescRight">删除远程文件。  <br /></td></tr>
<tr class="separator:a9113414b3009b797ab62da473ec4f33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa76face34caef100b7f7136cf4e270f" id="r_aaa76face34caef100b7f7136cf4e270f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaa76face34caef100b7f7136cf4e270f">setUser</a> (const std::string &amp;acc, const std::string &amp;pswd) final</td></tr>
<tr class="memdesc:aaa76face34caef100b7f7136cf4e270f"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置用户名和密码  <br /></td></tr>
<tr class="separator:aaa76face34caef100b7f7136cf4e270f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c49d5c487d8d09e1433afc6253892c1" id="r_a3c49d5c487d8d09e1433afc6253892c1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c49d5c487d8d09e1433afc6253892c1">addUrl</a> (const std::string &amp;url) final</td></tr>
<tr class="memdesc:a3c49d5c487d8d09e1433afc6253892c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">指定URL  <br /></td></tr>
<tr class="separator:a3c49d5c487d8d09e1433afc6253892c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d6813e665ac696884b0ed4a03bc5429" id="r_a9d6813e665ac696884b0ed4a03bc5429"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9d6813e665ac696884b0ed4a03bc5429">run</a> () final</td></tr>
<tr class="separator:a9d6813e665ac696884b0ed4a03bc5429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71ba312bd5279212a4e79a452a00f5f7" id="r_a71ba312bd5279212a4e79a452a00f5f7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71ba312bd5279212a4e79a452a00f5f7">run</a> (std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, size_t, int, const std::string &amp;) &gt; cb) final</td></tr>
<tr class="separator:a71ba312bd5279212a4e79a452a00f5f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a668a31959802c883c07febdaf0da8e47" id="r_a668a31959802c883c07febdaf0da8e47"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a668a31959802c883c07febdaf0da8e47">ls</a> (<a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;rst) final</td></tr>
<tr class="memdesc:a668a31959802c883c07febdaf0da8e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">列出远程目录内容  <br /></td></tr>
<tr class="separator:a668a31959802c883c07febdaf0da8e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8a887103ef522828148481596e99e8e" id="r_ad8a887103ef522828148481596e99e8e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad8a887103ef522828148481596e99e8e">ls</a> (std::function&lt; void(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;) &gt; cb) final</td></tr>
<tr class="separator:ad8a887103ef522828148481596e99e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e52b512e1a2af7072249b4303a8b694" id="r_a0e52b512e1a2af7072249b4303a8b694"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e52b512e1a2af7072249b4303a8b694">access</a> (const std::string &amp;url, int type) final</td></tr>
<tr class="memdesc:a0e52b512e1a2af7072249b4303a8b694"><td class="mdescLeft">&#160;</td><td class="mdescRight">和linux access函数一样，用来检查文件的可访问性  <br /></td></tr>
<tr class="separator:a0e52b512e1a2af7072249b4303a8b694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb6d21e7707a01036d3a7e9301b2de3" id="r_a4eb6d21e7707a01036d3a7e9301b2de3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4eb6d21e7707a01036d3a7e9301b2de3">cd</a> (const std::string &amp;path) final</td></tr>
<tr class="memdesc:a4eb6d21e7707a01036d3a7e9301b2de3"><td class="mdescLeft">&#160;</td><td class="mdescRight">切换远程目录路径  <br /></td></tr>
<tr class="separator:a4eb6d21e7707a01036d3a7e9301b2de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7599b08434490d08a0bf1dc79c5d0b0c" id="r_a7599b08434490d08a0bf1dc79c5d0b0c"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a> (const std::string &amp;file) final</td></tr>
<tr class="memdesc:a7599b08434490d08a0bf1dc79c5d0b0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取远程文件的文件大小  <br /></td></tr>
<tr class="separator:a7599b08434490d08a0bf1dc79c5d0b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structwheels_1_1i_file_service"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_structwheels_1_1i_file_service')"><img src="../../closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html">wheels::iFileService</a></td></tr>
<tr class="memitem:aaef3e45a097583e13ad0a506f6f16e69 inherit pub_methods_structwheels_1_1i_file_service" id="r_aaef3e45a097583e13ad0a506f6f16e69"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#aaef3e45a097583e13ad0a506f6f16e69">~iFileService</a> ()</td></tr>
<tr class="separator:aaef3e45a097583e13ad0a506f6f16e69 inherit pub_methods_structwheels_1_1i_file_service"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:a98f15f8a5d091cba12444e01e6e4b8be" id="r_a98f15f8a5d091cba12444e01e6e4b8be"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a98f15f8a5d091cba12444e01e6e4b8be">errMsg</a> (<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a> e)</td></tr>
<tr class="separator:a98f15f8a5d091cba12444e01e6e4b8be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_structwheels_1_1i_file_service"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_structwheels_1_1i_file_service')"><img src="../../closed.png" alt="-"/>&#160;静态 Public 成员函数 继承自 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html">wheels::iFileService</a></td></tr>
<tr class="memitem:a963d48b061a3e66bd4b3cd73123262db inherit pub_static_methods_structwheels_1_1i_file_service" id="r_a963d48b061a3e66bd4b3cd73123262db"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a963d48b061a3e66bd4b3cd73123262db">errMsg</a> (<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">emErrCode</a> e)</td></tr>
<tr class="separator:a963d48b061a3e66bd4b3cd73123262db inherit pub_static_methods_structwheels_1_1i_file_service"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
静态 Public 属性</h2></td></tr>
<tr class="memitem:ad83ed046053710539dc39b88164c749f" id="r_ad83ed046053710539dc39b88164c749f"><td class="memItemLeft" align="right" valign="top">static const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad83ed046053710539dc39b88164c749f">DEFAULT_BUF_SIZE</a> = 2048</td></tr>
<tr class="separator:ad83ed046053710539dc39b88164c749f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
友元</h2></td></tr>
<tr class="memitem:a1c938fd613f155400fd8332835359f7c" id="r_a1c938fd613f155400fd8332835359f7c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c938fd613f155400fd8332835359f7c">ftp_write_callback</a> (char *ptr, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:a1c938fd613f155400fd8332835359f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CURL 本地写入回调函数  <br /></td></tr>
<tr class="separator:a1c938fd613f155400fd8332835359f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae893c969c2ac5d8ba25739abc68730" id="r_a5ae893c969c2ac5d8ba25739abc68730"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ae893c969c2ac5d8ba25739abc68730">ftp_read_callback</a> (char *buffer, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>, size_t nitems, void *userdata)</td></tr>
<tr class="memdesc:a5ae893c969c2ac5d8ba25739abc68730"><td class="mdescLeft">&#160;</td><td class="mdescRight">本地读取数据回调函数  <br /></td></tr>
<tr class="separator:a5ae893c969c2ac5d8ba25739abc68730"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57c3e910f6269807ad612ff5b4b281c8" id="r_a57c3e910f6269807ad612ff5b4b281c8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a57c3e910f6269807ad612ff5b4b281c8">on_ftp_size</a> (char *ptr, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:a57c3e910f6269807ad612ff5b4b281c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">查询文件大小的回调操作函数  <br /></td></tr>
<tr class="separator:a57c3e910f6269807ad612ff5b4b281c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe03125733ec7a3f07754578f06a3781" id="r_abe03125733ec7a3f07754578f06a3781"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abe03125733ec7a3f07754578f06a3781">on_nlist</a> (char *ptr, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:abe03125733ec7a3f07754578f06a3781"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取文件列表的回调操作函数  <br /></td></tr>
<tr class="separator:abe03125733ec7a3f07754578f06a3781"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad30d7938b76217dec401f1e4872fe70e" id="r_ad30d7938b76217dec401f1e4872fe70e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad30d7938b76217dec401f1e4872fe70e">onConnectCb</a> (char *ptr, size_t, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:ad30d7938b76217dec401f1e4872fe70e"><td class="mdescLeft">&#160;</td><td class="mdescRight">连接成功操作回调函数  <br /></td></tr>
<tr class="separator:ad30d7938b76217dec401f1e4872fe70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad907952d4633c663a0140a166182e127" id="r_ad907952d4633c663a0140a166182e127"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad907952d4633c663a0140a166182e127">onChkInst</a> (char *buffer, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>, size_t nitems, void *userdata)</td></tr>
<tr class="memdesc:ad907952d4633c663a0140a166182e127"><td class="mdescLeft">&#160;</td><td class="mdescRight">检查服务器支持的指令操作数据回调函数。这个函数有CURL调用  <br /></td></tr>
<tr class="separator:ad907952d4633c663a0140a166182e127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acacdb16f13dfa548fed1489bb0377672" id="r_acacdb16f13dfa548fed1489bb0377672"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acacdb16f13dfa548fed1489bb0377672">ftp_write_cb_data</a> (char *ptr, size_t <a class="el" href="#a7599b08434490d08a0bf1dc79c5d0b0c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="separator:acacdb16f13dfa548fed1489bb0377672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f64eceebc17730a633c60e90147b75" id="r_af7f64eceebc17730a633c60e90147b75"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af7f64eceebc17730a633c60e90147b75">on_upld_progress</a> (void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)</td></tr>
<tr class="separator:af7f64eceebc17730a633c60e90147b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock">
<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00023">23</a> 行定义.</p>
</div><h2 class="groupheader">成员类型定义说明</h2>
<a id="aef3f1efb75e5955ac5034428b1c72f1c" name="aef3f1efb75e5955ac5034428b1c72f1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef3f1efb75e5955ac5034428b1c72f1c">&#9670;&#160;</a></span>curlFun</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t(* wheels::curlFtp::curlFun) (char *, size_t, size_t, void *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00034">34</a> 行定义.</p>

</div>
</div>
<a id="a704c42af65f4ab64d9d66f2fc45feabc" name="a704c42af65f4ab64d9d66f2fc45feabc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a704c42af65f4ab64d9d66f2fc45feabc">&#9670;&#160;</a></span>errCode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">wheels::curlFtp::errCode</a> = <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">emErrCode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00037">37</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">构造及析构函数说明</h2>
<a id="a5a85a4a48b8b190ff7522eccf609f205" name="a5a85a4a48b8b190ff7522eccf609f205"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a85a4a48b8b190ff7522eccf609f205">&#9670;&#160;</a></span>curlFtp() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">curlFtp::curlFtp </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>构造对象 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">url[</td><td>IN ] url应该是完整的URL格式 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00197">197</a> 行定义.</p>

</div>
</div>
<a id="a748a8d4b508f2f7f093a9e40c79c849d" name="a748a8d4b508f2f7f093a9e40c79c849d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a748a8d4b508f2f7f093a9e40c79c849d">&#9670;&#160;</a></span>curlFtp() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">curlFtp::curlFtp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00219">219</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a748a8d4b508f2f7f093a9e40c79c849d_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a748a8d4b508f2f7f093a9e40c79c849d_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a748a8d4b508f2f7f093a9e40c79c849d_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a748a8d4b508f2f7f093a9e40c79c849d_cgraph">
<area shape="rect" title=" " alt="" coords="5,81,164,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a428fa19e39c369dab77a058ad71ff512" title=" " alt="" coords="213,5,330,32"/>
<area shape="poly" title=" " alt="" coords="119,78,221,36,223,41,121,83"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a16b57c1b939418181194425e556062b9" title=" " alt="" coords="216,56,327,83"/>
<area shape="poly" title=" " alt="" coords="164,81,200,76,200,82,164,87"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="212,107,331,133"/>
<area shape="poly" title=" " alt="" coords="164,103,197,107,196,113,164,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="217,157,326,184"/>
<area shape="poly" title=" " alt="" coords="121,106,223,149,221,153,119,111"/>
</map>
</div>

</div>
</div>
<a id="ac85d28bcf2c8a2a80ed25d605143f219" name="ac85d28bcf2c8a2a80ed25d605143f219"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac85d28bcf2c8a2a80ed25d605143f219">&#9670;&#160;</a></span>curlFtp() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">curlFtp::curlFtp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d3/d19/structwheels_1_1curl_ftp_1_1st_params.html">stParams</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>params</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00207">207</a> 行定义.</p>

</div>
</div>
<a id="ae97f652bf7189764e89e5f36e0bd8807" name="ae97f652bf7189764e89e5f36e0bd8807"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae97f652bf7189764e89e5f36e0bd8807">&#9670;&#160;</a></span>curlFtp() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wheels::curlFtp::curlFtp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>remote</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d3/d19/structwheels_1_1curl_ftp_1_1st_params.html">stParams</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>params</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="acd211e7301ba32b01614fa583be8d6dc" name="acd211e7301ba32b01614fa583be8d6dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd211e7301ba32b01614fa583be8d6dc">&#9670;&#160;</a></span>~curlFtp()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">curlFtp::~curlFtp </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00244">244</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a549022029d45e244480a54f7d398d766" name="a549022029d45e244480a54f7d398d766"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a549022029d45e244480a54f7d398d766">&#9670;&#160;</a></span>__on_progress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::__on_progress </td>
          <td>(</td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>now</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>传输过程中操作CURL回调函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">now当前传输的字节数</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00252">252</a> 行定义.</p>

</div>
</div>
<a id="a2dac8c9bb47ebb566ef42e54548441c3" name="a2dac8c9bb47ebb566ef42e54548441c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dac8c9bb47ebb566ef42e54548441c3">&#9670;&#160;</a></span>__on_progress_dwld()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::__on_progress_dwld </td>
          <td>(</td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>now</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00259">259</a> 行定义.</p>

</div>
</div>
<a id="a96fedcbbcf4f36433ae56629b622e7ca" name="a96fedcbbcf4f36433ae56629b622e7ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96fedcbbcf4f36433ae56629b622e7ca">&#9670;&#160;</a></span>__onChkInst()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::__onChkInst </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>响应检查FTP支持指令的情况 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>IN ] </td></tr>
    <tr><td class="paramname">len</td><td>[ IN ] </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01477">1477</a> 行定义.</p>

</div>
</div>
<a id="a6d7d5ad68763ca40e90e4f1d8f415bb2" name="a6d7d5ad68763ca40e90e4f1d8f415bb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d7d5ad68763ca40e90e4f1d8f415bb2">&#9670;&#160;</a></span>__onConnect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::__onConnect </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>响应连接操作的过程中的数据回调 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>IN ] , </td></tr>
    <tr><td class="paramname">len[</td><td>IN ] </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01464">1464</a> 行定义.</p>

</div>
</div>
<a id="a7a929ea45d339698ebf01353ea8b1056" name="a7a929ea45d339698ebf01353ea8b1056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a929ea45d339698ebf01353ea8b1056">&#9670;&#160;</a></span>__onConnectErr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::__onConnectErr </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ftp对象数据给出错误。虽然这种情况的可能性不大。 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01471">1471</a> 行定义.</p>

</div>
</div>
<a id="a0e52b512e1a2af7072249b4303a8b694" name="a0e52b512e1a2af7072249b4303a8b694"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e52b512e1a2af7072249b4303a8b694">&#9670;&#160;</a></span>access()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">curlFtp::errCode</a> curlFtp::access </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>type</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>和linux access函数一样，用来检查文件的可访问性 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">url[</td><td>I ]， 要访问的文件的路径 </td></tr>
    <tr><td class="paramname">type[</td><td>I ]， 检查的类型 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>操作成功返回OK ，否则返回错误代码 </dd></dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a6b200bd334596fb97137ebe61b6034e2">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01089">1089</a> 行定义.</p>

</div>
</div>
<a id="a3c49d5c487d8d09e1433afc6253892c1" name="a3c49d5c487d8d09e1433afc6253892c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c49d5c487d8d09e1433afc6253892c1">&#9670;&#160;</a></span>addUrl()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void wheels::curlFtp::addUrl </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>指定URL </p>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a92213b2aa32dc9d1abce057005d56ab3">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00372">372</a> 行定义.</p>

</div>
</div>
<a id="a76406c4f68eda16696689e8e31192173" name="a76406c4f68eda16696689e8e31192173"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76406c4f68eda16696689e8e31192173">&#9670;&#160;</a></span>bufferSize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void wheels::curlFtp::bufferSize </td>
          <td>(</td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>s</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4c8066770e383bad17dabe1fad804779">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00294">294</a> 行定义.</p>

</div>
</div>
<a id="a4eb6d21e7707a01036d3a7e9301b2de3" name="a4eb6d21e7707a01036d3a7e9301b2de3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eb6d21e7707a01036d3a7e9301b2de3">&#9670;&#160;</a></span>cd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">curlFtp::errCode</a> curlFtp::cd </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>切换远程目录路径 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>， 路径字符串 </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a7a9cd7da47b67cd365bc9060ffd91f46">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01114">1114</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a4eb6d21e7707a01036d3a7e9301b2de3_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a4eb6d21e7707a01036d3a7e9301b2de3_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a4eb6d21e7707a01036d3a7e9301b2de3_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a4eb6d21e7707a01036d3a7e9301b2de3_cgraph">
<area shape="rect" title="切换远程目录路径" alt="" coords="5,107,138,133"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a428fa19e39c369dab77a058ad71ff512" title=" " alt="" coords="187,5,304,32"/>
<area shape="poly" title=" " alt="" coords="89,104,132,74,184,42,194,37,197,41,187,46,135,79,92,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a16b57c1b939418181194425e556062b9" title=" " alt="" coords="190,56,301,83"/>
<area shape="poly" title=" " alt="" coords="119,103,182,85,183,90,121,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="186,107,305,133"/>
<area shape="poly" title=" " alt="" coords="138,117,170,117,170,123,138,123"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="191,157,300,184"/>
<area shape="poly" title=" " alt="" coords="121,131,183,150,182,155,119,137"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="193,208,298,235"/>
<area shape="poly" title=" " alt="" coords="92,132,135,161,187,194,197,199,194,203,184,198,132,166,89,136"/>
</map>
</div>

</div>
</div>
<a id="a9113414b3009b797ab62da473ec4f33a" name="a9113414b3009b797ab62da473ec4f33a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9113414b3009b797ab62da473ec4f33a">&#9670;&#160;</a></span>del()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool curlFtp::del </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>rem</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>删除远程文件。 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">rem[</td><td>I ], 远程文件路径。支持完整的URL，和具体的文件路径。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>警告</dt><dd>注意这个删除操作虽然支持相对路径, 指明的路径必须明确服务器当前的路径状态。否则推荐 使用绝对路径删除文件 </dd></dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#aa40dbce4a27a4eda48c863eed681ec5c">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00878">878</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a9113414b3009b797ab62da473ec4f33a_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a9113414b3009b797ab62da473ec4f33a_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a9113414b3009b797ab62da473ec4f33a_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a9113414b3009b797ab62da473ec4f33a_cgraph">
<area shape="rect" title="删除远程文件。" alt="" coords="5,107,141,133"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a428fa19e39c369dab77a058ad71ff512" title=" " alt="" coords="190,5,306,32"/>
<area shape="poly" title=" " alt="" coords="92,104,135,74,187,42,198,36,200,41,190,46,137,78,95,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a16b57c1b939418181194425e556062b9" title=" " alt="" coords="193,56,304,83"/>
<area shape="poly" title=" " alt="" coords="121,103,184,85,186,90,123,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="189,107,308,133"/>
<area shape="poly" title=" " alt="" coords="141,117,173,117,173,123,141,123"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="194,157,302,184"/>
<area shape="poly" title=" " alt="" coords="123,131,186,150,184,155,121,137"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="196,208,300,235"/>
<area shape="poly" title=" " alt="" coords="95,132,137,162,190,194,200,199,198,204,187,198,135,166,92,136"/>
</map>
</div>

</div>
</div>
<a id="a26fa2678dbdf24b02a0c73e59b9b2cfc" name="a26fa2678dbdf24b02a0c73e59b9b2cfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26fa2678dbdf24b02a0c73e59b9b2cfc">&#9670;&#160;</a></span>download() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool curlFtp::download </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>批量下载文件。 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td></td></tr>
    <tr><td class="paramname">dest</td><td></td></tr>
    <tr><td class="paramname">autoRun</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true, 否则返回false </dd></dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a5bcaea2ba4f416a19479b33c021d1088">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00648">648</a> 行定义.</p>

</div>
</div>
<a id="a05d8eaf1dabcf5acdc1aed44311b0581" name="a05d8eaf1dabcf5acdc1aed44311b0581"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05d8eaf1dabcf5acdc1aed44311b0581">&#9670;&#160;</a></span>download() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::download </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, uint8_t *, size_t) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>批量下载文件，使用回调函数通知操作结果和过程 </p>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a68d1d4801f66115b8db3577ef2488a0b">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00694">694</a> 行定义.</p>

</div>
</div>
<a id="a21c36b2ddba22f2961b0843af2bd9d1e" name="a21c36b2ddba22f2961b0843af2bd9d1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21c36b2ddba22f2961b0843af2bd9d1e">&#9670;&#160;</a></span>download() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::download </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, uint8_t *, size_t) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>将数据下载到内存中 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td></td></tr>
    <tr><td class="paramname">buff[</td><td>O ], 如果buffer为nullptr，会调用回调函数通知数据内容；否则会 直接将数据拷贝到buffer中 </td></tr>
    <tr><td class="paramname">cb</td><td></td></tr>
    <tr><td class="paramname">autoRun</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#adc6c882edb72e2b071088d08b248d4fa">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00617">617</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a21c36b2ddba22f2961b0843af2bd9d1e_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a21c36b2ddba22f2961b0843af2bd9d1e_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a21c36b2ddba22f2961b0843af2bd9d1e_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a21c36b2ddba22f2961b0843af2bd9d1e_cgraph">
<area shape="rect" title="将数据下载到内存中" alt="" coords="5,31,179,57"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a428fa19e39c369dab77a058ad71ff512" title=" " alt="" coords="227,5,343,32"/>
<area shape="poly" title=" " alt="" coords="179,30,211,26,211,31,179,35"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a16b57c1b939418181194425e556062b9" title=" " alt="" coords="229,56,340,83"/>
<area shape="poly" title=" " alt="" coords="179,53,214,57,213,63,179,58"/>
</map>
</div>

</div>
</div>
<a id="a2a785773fc259042d522978a94a65895" name="a2a785773fc259042d522978a94a65895"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a785773fc259042d522978a94a65895">&#9670;&#160;</a></span>download() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::download </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, uint8_t *, size_t) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>下载操作函数。操作完成后使用回调函数通知操作结果 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">cb,操作完成后的回调函数。这个函数用来通知操作结果，函数的原型如下：</td><td>void fun( errCode err , size_t dataSize , const std::string&amp; fileStorePath ); </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#abbf6f4f25334a5d82fa9c58f05333ab9">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00589">589</a> 行定义.</p>

</div>
</div>
<a id="ae1297558f832053edb5ced7a8c66ea08" name="ae1297558f832053edb5ced7a8c66ea08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1297558f832053edb5ced7a8c66ea08">&#9670;&#160;</a></span>download() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool curlFtp::download </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>执行下载操作，这个函数会阻塞程序运行，直到完成操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from,远程文件路径，应该是完整的FTP路径</td><td></td></tr>
    <tr><td class="paramname">dest,目标文件路径，应该是完整的文件路径，应该包含路径名称和文件名称</td><td></td></tr>
    <tr><td class="paramname">autoRun,如果设置为true,则函数调用后自动启动下载，否则应该调用run开始执行下载操作</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true，否则返回false </dd></dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a3f9d8e38826f754a709365f8890bab96">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00519">519</a> 行定义.</p>

</div>
</div>
<a id="a98f15f8a5d091cba12444e01e6e4b8be" name="a98f15f8a5d091cba12444e01e6e4b8be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98f15f8a5d091cba12444e01e6e4b8be">&#9670;&#160;</a></span>errMsg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string curlFtp::errMsg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a></td>          <td class="paramname"><span class="paramname"><em>e</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01631">1631</a> 行定义.</p>

</div>
</div>
<a id="a668a31959802c883c07febdaf0da8e47" name="a668a31959802c883c07febdaf0da8e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a668a31959802c883c07febdaf0da8e47">&#9670;&#160;</a></span>ls() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">curlFtp::errCode</a> curlFtp::ls </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>rst</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>列出远程目录内容 </p>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#ae5e67d4a2f534826e5493ed89ba450a3">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00983">983</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a668a31959802c883c07febdaf0da8e47_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a668a31959802c883c07febdaf0da8e47_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a668a31959802c883c07febdaf0da8e47_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a668a31959802c883c07febdaf0da8e47_cgraph">
<area shape="rect" title="列出远程目录内容" alt="" coords="5,5,134,32"/>
<area shape="rect" href="../../de/d8b/details_2ftp_8cpp.html#abe03125733ec7a3f07754578f06a3781" title="获取文件列表的回调操作函数" alt="" coords="182,5,248,32"/>
<area shape="poly" title=" " alt="" coords="134,16,166,16,166,21,134,21"/>
</map>
</div>

</div>
</div>
<a id="ad8a887103ef522828148481596e99e8e" name="ad8a887103ef522828148481596e99e8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8a887103ef522828148481596e99e8e">&#9670;&#160;</a></span>ls() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::ls </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a13fcf3f28b7bbf58f83321e93fb7a600">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01105">1105</a> 行定义.</p>

</div>
</div>
<a id="a17073e782cd8890d22eb75cda4bad864" name="a17073e782cd8890d22eb75cda4bad864"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17073e782cd8890d22eb75cda4bad864">&#9670;&#160;</a></span>on_pause()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int curlFtp::on_pause </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../df/d78/tribool_8hpp.html#a74ed90a757246608e85275a8d14511c2">tribool_t</a></td>          <td class="paramname"><span class="paramname"><em>status</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>响应暂停操作 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00267">267</a> 行定义.</p>

</div>
</div>
<a id="a132a173060f821a3db358a189112b089" name="a132a173060f821a3db358a189112b089"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a132a173060f821a3db358a189112b089">&#9670;&#160;</a></span>on_recv()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int curlFtp::on_recv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/dee/structwheels_1_1curl_ftp_1_1st_transmit.html">stTransmit</a> *</td>          <td class="paramname"><span class="paramname"><em>desc</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>接收到数据的回调函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">desc</td><td>，传输描述符 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01199">1199</a> 行定义.</p>

</div>
</div>
<a id="afb6dab76f77c2f107bb95421f606126e" name="afb6dab76f77c2f107bb95421f606126e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb6dab76f77c2f107bb95421f606126e">&#9670;&#160;</a></span>on_recv_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int curlFtp::on_recv_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d2/dee/structwheels_1_1curl_ftp_1_1st_transmit.html">stTransmit</a> *</td>          <td class="paramname"><span class="paramname"><em>desc</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section note"><dt>注解</dt><dd>这个函数中采用重复分配的方式，可能会引起性能下降 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01220">1220</a> 行定义.</p>

</div>
</div>
<a id="a15beda9d850305cba470141914f402f0" name="a15beda9d850305cba470141914f402f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15beda9d850305cba470141914f402f0">&#9670;&#160;</a></span>onSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::onSize </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>读取文件大小响应函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>I ], 操作返回的字符串 </td></tr>
    <tr><td class="paramname">size[</td><td>I ], 返回字符串的长度 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01285">1285</a> 行定义.</p>

</div>
</div>
<a id="ab1920b0d6e18ff15b4077ca8f063da74" name="ab1920b0d6e18ff15b4077ca8f063da74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1920b0d6e18ff15b4077ca8f063da74">&#9670;&#160;</a></span>overtime()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void wheels::curlFtp::overtime </td>
          <td>(</td>
          <td class="paramtype">long</td>          <td class="paramname"><span class="paramname"><em>ovt</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#abf692c0a9ad3c30b48580ffa37b92300">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00299">299</a> 行定义.</p>

</div>
</div>
<a id="a9d6813e665ac696884b0ed4a03bc5429" name="a9d6813e665ac696884b0ed4a03bc5429"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d6813e665ac696884b0ed4a03bc5429">&#9670;&#160;</a></span>run() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::run </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a1596fd99e0831eb2ec2cabc4c712dee3">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00959">959</a> 行定义.</p>

</div>
</div>
<a id="a71ba312bd5279212a4e79a452a00f5f7" name="a71ba312bd5279212a4e79a452a00f5f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71ba312bd5279212a4e79a452a00f5f7">&#9670;&#160;</a></span>run() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::run </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, size_t, int, const std::string &amp;) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#ac59b73319c207e2584e1c83c31396f8e">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00971">971</a> 行定义.</p>

</div>
</div>
<a id="aaa76face34caef100b7f7136cf4e270f" name="aaa76face34caef100b7f7136cf4e270f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa76face34caef100b7f7136cf4e270f">&#9670;&#160;</a></span>setUser()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::setUser </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>acc</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>pswd</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>设置用户名和密码 </p>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a3c4fdddfdaf3ede63c2e888a70e04ef5">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l01364">1364</a> 行定义.</p>

</div>
</div>
<a id="a7599b08434490d08a0bf1dc79c5d0b0c" name="a7599b08434490d08a0bf1dc79c5d0b0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7599b08434490d08a0bf1dc79c5d0b0c">&#9670;&#160;</a></span>size()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t wheels::curlFtp::size </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>读取远程文件的文件大小 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">file[</td><td>I ] 文件路径 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回文件大小 </dd></dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a5f1bf441284256b7f2799a4885345825">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00397">397</a> 行定义.</p>

</div>
</div>
<a id="a2455ae312bda209e423b82040802aa1d" name="a2455ae312bda209e423b82040802aa1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2455ae312bda209e423b82040802aa1d">&#9670;&#160;</a></span>upload() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, size_t)&gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a5a882fb4e07e8471ed2392c8914c5f23">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00952">952</a> 行定义.</p>

</div>
</div>
<a id="a081f19dca8a92472e71a0f01f89c0e96" name="a081f19dca8a92472e71a0f01f89c0e96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a081f19dca8a92472e71a0f01f89c0e96">&#9670;&#160;</a></span>upload() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool curlFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>批量上传操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from[</td><td>I ] </td></tr>
    <tr><td class="paramname">dest[</td><td>I ] </td></tr>
    <tr><td class="paramname">autoRun[</td><td>I ] </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a0af74d6a59403a3270013c71d5445114">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00944">944</a> 行定义.</p>

</div>
</div>
<a id="a05feb0263f26899dc82d5d37563f527f" name="a05feb0263f26899dc82d5d37563f527f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05feb0263f26899dc82d5d37563f527f">&#9670;&#160;</a></span>upload() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool curlFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>remote_file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>上传文件到服务器 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">file[</td><td>I ], 本地文件 </td></tr>
    <tr><td class="paramname">remote_file[</td><td>I ], 远程文件 </td></tr>
    <tr><td class="paramname">autoRun[</td><td>I ]，调用后是否自动运行，如果不是自动运行任务将在后台挂起 </td></tr>
    <tr><td class="paramname">cb[</td><td>I ], 进度回调函数用来通知上传进度 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true，否则返回false </dd></dl>
<dl class="section note"><dt>注解</dt><dd>目前仅仅支持自动运行 </dd></dl>

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#ad9b1abef0edcb8552d170cc2b5034477">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00811">811</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a05feb0263f26899dc82d5d37563f527f_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a05feb0263f26899dc82d5d37563f527f_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a05feb0263f26899dc82d5d37563f527f_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a05feb0263f26899dc82d5d37563f527f_cgraph">
<area shape="rect" title="上传文件到服务器" alt="" coords="5,107,162,133"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#a1281e08e5da281269eef64e5790c4116" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="210,5,340,32"/>
<area shape="poly" title=" " alt="" coords="104,104,151,74,208,42,220,36,223,41,211,46,153,79,106,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="215,56,334,83"/>
<area shape="poly" title=" " alt="" coords="136,103,206,85,208,90,138,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="221,107,329,133"/>
<area shape="poly" title=" " alt="" coords="162,117,205,117,205,123,162,123"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="223,157,327,184"/>
<area shape="poly" title=" " alt="" coords="138,131,208,150,207,156,136,137"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a21ebcf8bf1ff7956081d1ec2265befc9" title="将URL对象输出成一个完整URL字符串" alt="" coords="224,208,326,235"/>
<area shape="poly" title=" " alt="" coords="106,131,153,161,211,194,223,199,220,204,208,198,151,166,104,136"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="392,5,440,32"/>
<area shape="poly" title=" " alt="" coords="341,16,377,16,377,21,341,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="492,5,560,32"/>
<area shape="poly" title=" " alt="" coords="441,16,476,16,476,21,441,21"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#ac7d1e0a91bfa612dce72b060d9e15119" title=" " alt="" coords="388,208,444,235"/>
<area shape="poly" title=" " alt="" coords="326,219,373,219,373,224,326,224"/>
</map>
</div>

</div>
</div>
<a id="a13b876b8b1d24c1492e05dbb15983deb" name="a13b876b8b1d24c1492e05dbb15983deb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13b876b8b1d24c1492e05dbb15983deb">&#9670;&#160;</a></span>upload() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void curlFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>remote_file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a4caa50c3e01e22c71bb52d16657c48d0">errCode</a>, size_t)&gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>实现了 <a class="el" href="../../d7/d64/structwheels_1_1i_file_service.html#a7dbd584d9b1b67c3ad196d184aa50a5a">wheels::iFileService</a>.</p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00847">847</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d4/d31/classwheels_1_1curl_ftp_a13b876b8b1d24c1492e05dbb15983deb_cgraph.png" border="0" usemap="#ad4/d31/classwheels_1_1curl_ftp_a13b876b8b1d24c1492e05dbb15983deb_cgraph" alt=""/></div>
<map name="ad4/d31/classwheels_1_1curl_ftp_a13b876b8b1d24c1492e05dbb15983deb_cgraph" id="ad4/d31/classwheels_1_1curl_ftp_a13b876b8b1d24c1492e05dbb15983deb_cgraph">
<area shape="rect" title=" " alt="" coords="5,107,162,133"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#a1281e08e5da281269eef64e5790c4116" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="210,5,340,32"/>
<area shape="poly" title=" " alt="" coords="104,104,151,74,208,42,220,36,223,41,211,46,153,79,106,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="215,56,334,83"/>
<area shape="poly" title=" " alt="" coords="136,103,206,85,208,90,138,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="221,107,329,133"/>
<area shape="poly" title=" " alt="" coords="162,117,205,117,205,123,162,123"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="223,157,327,184"/>
<area shape="poly" title=" " alt="" coords="138,131,208,150,207,156,136,137"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a21ebcf8bf1ff7956081d1ec2265befc9" title="将URL对象输出成一个完整URL字符串" alt="" coords="224,208,326,235"/>
<area shape="poly" title=" " alt="" coords="106,131,153,161,211,194,223,199,220,204,208,198,151,166,104,136"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="392,5,440,32"/>
<area shape="poly" title=" " alt="" coords="341,16,377,16,377,21,341,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="492,5,560,32"/>
<area shape="poly" title=" " alt="" coords="441,16,476,16,476,21,441,21"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#ac7d1e0a91bfa612dce72b060d9e15119" title=" " alt="" coords="388,208,444,235"/>
<area shape="poly" title=" " alt="" coords="326,219,373,219,373,224,326,224"/>
</map>
</div>

</div>
</div>
<h2 class="groupheader">友元及相关符号说明</h2>
<a id="a5ae893c969c2ac5d8ba25739abc68730" name="a5ae893c969c2ac5d8ba25739abc68730"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ae893c969c2ac5d8ba25739abc68730">&#9670;&#160;</a></span>ftp_read_callback</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ftp_read_callback </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nitems</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>本地读取数据回调函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00136">136</a> 行定义.</p>

</div>
</div>
<a id="a1c938fd613f155400fd8332835359f7c" name="a1c938fd613f155400fd8332835359f7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c938fd613f155400fd8332835359f7c">&#9670;&#160;</a></span>ftp_write_callback</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ftp_write_callback </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>CURL 本地写入回调函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr[</td><td>I ] 数据指针 </td></tr>
    <tr><td class="paramname">size[</td><td>I ] 总是是 1 </td></tr>
    <tr><td class="paramname">nmemb[</td><td>I ] 数据长度 </td></tr>
    <tr><td class="paramname">userdata[</td><td>I ] 用户定义数量 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>接收到数据长度 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00074">74</a> 行定义.</p>

</div>
</div>
<a id="acacdb16f13dfa548fed1489bb0377672" name="acacdb16f13dfa548fed1489bb0377672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acacdb16f13dfa548fed1489bb0377672">&#9670;&#160;</a></span>ftp_write_cb_data</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ftp_write_cb_data </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00100">100</a> 行定义.</p>

</div>
</div>
<a id="a57c3e910f6269807ad612ff5b4b281c8" name="a57c3e910f6269807ad612ff5b4b281c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57c3e910f6269807ad612ff5b4b281c8">&#9670;&#160;</a></span>on_ftp_size</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t on_ftp_size </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>查询文件大小的回调操作函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00176">176</a> 行定义.</p>

</div>
</div>
<a id="abe03125733ec7a3f07754578f06a3781" name="abe03125733ec7a3f07754578f06a3781"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe03125733ec7a3f07754578f06a3781">&#9670;&#160;</a></span>on_nlist</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t on_nlist </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>获取文件列表的回调操作函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00189">189</a> 行定义.</p>

</div>
</div>
<a id="af7f64eceebc17730a633c60e90147b75" name="af7f64eceebc17730a633c60e90147b75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7f64eceebc17730a633c60e90147b75">&#9670;&#160;</a></span>on_upld_progress</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int on_upld_progress </td>
          <td>(</td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>clientp</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>dltotal</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>dlnow</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>ultotal</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>ulnow</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00154">154</a> 行定义.</p>

</div>
</div>
<a id="ad907952d4633c663a0140a166182e127" name="ad907952d4633c663a0140a166182e127"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad907952d4633c663a0140a166182e127">&#9670;&#160;</a></span>onChkInst</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t onChkInst </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nitems</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>检查服务器支持的指令操作数据回调函数。这个函数有CURL调用 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer[</td><td>IN ] 传入的数据的内容指针 </td></tr>
    <tr><td class="paramname">size[</td><td>IN ] 总是为1 </td></tr>
    <tr><td class="paramname">nitems[</td><td>IN ] 传入的数据的长度 </td></tr>
    <tr><td class="paramname">userdata[</td><td>IN ] FTP对象指针，用来获取调用的 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>操作成功返回nitems，否则返回0以告诉CURL操作错误 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00040">40</a> 行定义.</p>

</div>
</div>
<a id="ad30d7938b76217dec401f1e4872fe70e" name="ad30d7938b76217dec401f1e4872fe70e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad30d7938b76217dec401f1e4872fe70e">&#9670;&#160;</a></span>onConnectCb</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t onConnectCb </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em></em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>连接成功操作回调函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00053">53</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a id="ad83ed046053710539dc39b88164c749f" name="ad83ed046053710539dc39b88164c749f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad83ed046053710539dc39b88164c749f">&#9670;&#160;</a></span>DEFAULT_BUF_SIZE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const size_t curlFtp::DEFAULT_BUF_SIZE = 2048</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../df/df5/details_2ftp_8hpp_source.html#l00035">35</a> 行定义.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>include/details/<a class="el" href="../../df/df5/details_2ftp_8hpp_source.html">ftp.hpp</a></li>
<li>src/details/<a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
